<?php


interface PhpFaces_Event_ValueChangeListener extends PhpFaces_Event_FacesListener {
	public function processValueChange(PhpFaces_Event_ValueChangeEvent $event);
}




class PhpFaces_Component_UIComponent {
	
}

class PhpFaces_Component_UIComponentBase extends PhpFaces_Component_UIComponent {
	public function __construct() {
		
	}
	
	/**
     * Invoke any listeners attached to this object which are listening
     * for an event whose type matches the specified event's runtime
     * type.
     * 
     * This method does not propagate the event up to parent components,
     * ie listeners attached to parent components don't automatically
     * get called.
     * 
     * If any of the listeners throws AbortProcessingException then
     * that exception will prevent any further listener callbacks
     * from occurring, and the exception propagates out of this
     * method without alteration.
     * 
     * ActionEvent events are typically queued by the renderer associated
     * with this component in its decode method; ValueChangeEvent events by
     * the component's validate method. In either case the event's source
     * property references a component. At some later time the UIViewRoot
     * component iterates over its queued events and invokes the broadcast
     * method on each event's source object.
     * 
     * @param $event must not be null.
     */
	public function broadcast( PhpFaces_Event_FacesEvent $event ) {
		
	}
	
	/**
     * Check the submitted form parameters for data associated with this
     * component. This default implementation delegates to this component's
     * renderer if there is one, and otherwise ignores the call.
     */
	public function encode( PhpFaces_Context_FacesContext $facesContext ) {
		
	}


	
}

class PhpFaces_Component_UIViewRoot extends PhpFaces_Component_UIComponentBase {
	
	public function broadcast( PhpFaces_Event_FacesEvent $event ) {
		
	}
	protected function _broadcastForPhase( $phaseId ) {
		
	}
	
	
}

?>